Tools have been developed to detect where, along a target (such as a display screen), eyes of a user are focusing. These tools typically include a camera coupled to a computer, where the computer receives images of eyes of a user and projects the focal point of the eyes on the target based upon the images. Conventionally, tracking the locations where the user is focusing over time has been performed in the context of display advertising, such that an advertiser can understand which advertisements, or parts of an advertisement, catch the attention of the user. The path of the focus over the target over time is referred to herein as a scanpath.
This relatively limited use of eye-tracking tools (e.g., limited to the context of display advertising) is at least partially due to the volume of data that represents the scanpath of a user. Another limiting factor is the complexity involved with correlating scanpaths across multiple users or multiple targets. For example, an eye tracking tool can generate a series of positional coordinates to represent a scanpath, where each positional coordinate has a timestamp assigned thereto, and there can be a positional coordinate for each millisecond. Accordingly, for a relatively short time window, the tool can generate several thousand data points (where a data point includes positional coordinates and an associated timestamp). Further, the eye tracking data often includes noise. Additionally, different users can scan a target in different ways, which results in scanpaths that have different spatiotemporal characteristics. For instance, one user may start at the upper left and scan left to right until they reach the lower right portion of the target. A different user may start in the center of the target and spiral out until they have observed the entire target. Different users may also scan at different rates, moving across the target at different speeds that may depend on their level of experience with the type of target. Thus, difficulties arise when attempting to process eye tracking data in a meaningful way.